package datosServer;

//import java.util.*;
/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
/**
 *
 * @author Aiskel
 */
//import java.util.*;
//import java.io.*;
//import java.util.logging.Level;
//import java.util.logging.Logger;


public class Usuario
{
      private String nickname;
      private String clave;
      private String nombre;
      private String apellido;
      private int score;
      private int contIngreso;
      //private Jcalendar2 fechaNac;
      private int dia;
      private int mes;
      private int año;
      private Avatar avatar;
      Partida partida;
      ListaPieza piezasUsuario;

      //private List <String> listRandom;

      public Usuario()
      {
        nickname="";
        clave="";
        nombre="";
        apellido="";
        score=0;
        contIngreso=0;
        //fechaNac = new Jcalendar2();
        dia = mes = año = 0;
        partida = new Partida();
        //listRandom = new ArrayList();
        piezasUsuario = new ListaPieza();
      }

       public Usuario ( String nickname,String clave,String nombre, String apellido,int dia,int mes,int año)
    {
        this.nombre = nombre;
        this.apellido = apellido;
        this.nickname = nickname;
        this.clave = clave;
        //this.fechaNac = new Jcalendar2(dia,mes,año);
        this.dia = dia;
        this.mes = mes;
        this.año = año;
        partida = new Partida();
        this.avatar=new Avatar();
        //listRandom = new ArrayList();
         piezasUsuario = new ListaPieza();
       }

        public Usuario (String nickname, String clave, String nombre,String apellido,int dia,int mes,int año,Avatar avatar)
    {
        this.nombre = nombre;
        this.apellido = apellido;
        this.nickname = nickname;
        this.clave = clave;
        this.dia = dia;
        this.mes = mes;
        this.avatar = avatar;
       }

    public Avatar getAvatar() {
        return avatar;
    }

    public void setAvatar(Avatar avatar) {
        this.avatar = avatar;
    }

        

    public Partida getPartida()
    {
        return partida;
    }

    public void setPartida(Partida partida) {
        this.partida = partida;
    }

    public ListaPieza getPiezasUsuario() {
        return piezasUsuario;
    }

    public void setPiezasUsuario(ListaPieza piezasUsuario) {
        this.piezasUsuario = piezasUsuario;
    }

  /*  public List<String> getListRandom() {
        return listRandom;
    }

    public void setListRandom(List<String> listRandom) {
        this.listRandom = listRandom;
    }

   */
      // BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
/*
       public Partida getPartidas() {
            return partidas;
        }
*/
       /*
        public List <Partida> getPartidas() {
            return partidas.getListaP();
        }
        //*/

     /*
        public void setPartidas(List <Partida> partidas) {
            this.partidas.setListaP(partidas);
        }
   // */
/*
       public boolean setPartidas(Partida partidas) {
            this.partidas=partidas;
            return true;
        }
*/
/*
       public boolean mostrar()
       {
            System.out.println("Ingrese el Nombre del Usuario \n");
            try
            {
                nombre = br.readLine();
            }
            catch (IOException ex)
            {
                System.out.println("Error");
            }

             System.out.println("Ingrese el Apellido del Usuario \n");
            try
            {
                apellido = br.readLine();
            }
            catch (IOException ex)
            {
                System.out.println("Error");
            }

              System.out.println("Ingrese el Nickname del Usuario \n");
            try
            {
                nickname = br.readLine();
            }
            catch (IOException ex)
            {
                System.out.println("Error");
            }

              System.out.println("Ingrese su clave \n");
            try
            {
                clave = br.readLine();
            }
            catch (IOException ex)
            {
                System.out.println("Error");
            }
            return true;
       }
*/
     

    public String getApellido() {
        return apellido;
    }

    public void setApellido(String apellido) {
        this.apellido = apellido;
    }


    public String getClave() {
        return clave;
    }

    public void setClave(String clave) {
        this.clave = clave;
    }

    public int getContIngreso() {
        return contIngreso;
    }

    public void setContIngreso(int contIngreso) {
        this.contIngreso = contIngreso;
    }

    public String getNickname() {
        //System.out.println("\n nick: "+nickname+"\n");
        return nickname;
    }

    public void setNickname(String nickname) {
        this.nickname = nickname;
    }

    public String getNombre() {
        return nombre;
    }

    public void setNombre(String nombre) {
        this.nombre = nombre;
    }

    public int getScore() {
        return score;
    }

    public void setScore(int score) {
        this.score = score;
    }

    public int getAño() {
        return año;
    }

    public void setAño(int año) {
        this.año = año;
    }

    public int getDia() {
        return dia;
    }

    public void setDia(int dia) {
        this.dia = dia;
    }

    public int getMes() {
        return mes;
    }

    public void setMes(int mes) {
        this.mes = mes;
    }

   /* public Jcalendar2 getFechaNac() {
        return fechaNac;
    }

    public void setFechaNac(Jcalendar2 fechaNac) {
        this.fechaNac = fechaNac;
    }

*/





    
     public boolean equals(Object objeto)
    {
        Usuario segundoObjeto;

        if (! (objeto instanceof Usuario))
            return false;

        segundoObjeto = (Usuario) objeto;

        //if (this.nombre.equals(segundoObjeto.nombre) && this.apellido.equals(segundoObjeto.apellido) && this.cargo.equals(segundoObjeto.cargo))
        if (nickname.hashCode() == segundoObjeto.nickname.hashCode())
        {
            return true;
        }

        return false;
    }

    public int hashCode()
    {
       int hash = 0;
       hash += (nickname != null ? nickname.hashCode():0);

       return hash;
    }

   /* public String toString()
    {
        String cadena = "";

        cadena += "Nombre: " + this.getNombre() + "\n";
        cadena += "Apellido: " + this.getApellido() + "\n";
        cadena += "Nickname: " + this.getNickname() + "\n";

        return cadena;
    }*/
}